//
// Created by Ctzzz on 2024/4/25.
//

#ifndef NDKDEMO_GLSAMPLEBASE_H
#define NDKDEMO_GLSAMPLEBASE_H

#include "stdint.h"
#include "../util/ImageDef.h"
#include <GLES3/gl3.h>

class GLSampleBase {
public:
    GLSampleBase()
    {
        m_ProgramObj = 0;
        m_VertexShader = 0;
        m_FragmentShader = 0;
    }

    virtual ~GLSampleBase(){

    }

    virtual void LoadImage(NativeImage *pImage) = 0;

    virtual void Init() = 0;
    virtual void Draw() = 0;

protected:
    GLuint m_ProgramObj;
    GLuint m_VertexShader;
    GLuint m_FragmentShader;
};


#endif //NDKDEMO_GLSAMPLEBASE_H
